// Decompiled by DJ v3.7.7.81 Copyright 2004 Atanas Neshkov  Date: 2007-9-15 18:54:31

// Decompiler options: packimports(3) fieldsfirst ansi 
// Source File Name:   uu.java

package com.zelix;

import java.util.Hashtable;

// Referenced classes of package com.zelix:
//            tu, om, hs, ux, 
//            gt, tb, kt

public class uu extends tu
{

    om m[];
    int n;
    private static String z;

    public uu(String s, kt kt, om aom[], ux ux1)
    {
        super(s, kt, ux1);
        b(aom);
    }

    om a(int l)
    {
        return m[l];
    }

    int a(om om1)
    {
        boolean flag = tb.b;
        if(super.l != null) goto _L2; else goto _L1
_L1:
        int l;
        super.l = new Hashtable((int)((double)n * 1.5D));
        l = 0;
        if(!flag) goto _L4; else goto _L3
_L3:
        super.l.put(m[l], super.j.a(l));
        l++;
_L4:
        if(l < n) goto _L3; else goto _L2
_L2:
        Object obj = super.l.get(om1);
        if(obj != null)
            return ((Integer)obj).intValue();
        else
            throw new IllegalArgumentException(z + getClass().getName());
    }

    boolean i()
    {
        return super.k < n;
    }

    String j()
    {
        return m[super.k++].b();
    }

    public void a(om aom[])
    {
        b(aom);
        e();
        d();
    }

    void b(om aom[])
    {
        n = aom.length;
        m = new om[n];
        System.arraycopy(aom, 0, m, 0, n);
        super.l = null;
        h();
    }

    int k()
    {
        return n;
    }

    private static String z(char[] chs) {
        for (int i = 0; i < chs.length; i++) {
            byte key = 0;
            switch (i % 5) {
                case 0:
                    key = 0x25;
                    break;
                case 1:
                    key = 105;
                    break;
                case 2:
                    key = 103;
                    break;
                case 3:
                    key = 26;
                    break;
                default:
                    key = 98;
                    break;
            }
            chs[i] ^= key;
        }
        return new String(chs).intern();
    }

    static 
    {
        z = z("`\007\023h\033\005\007\bnBC\006\022t\006\005\000\t:".toCharArray());
    }
}